package com.hhc.t;

import java.util.Arrays;

/**
 * 给定一个整数数组 temperatures ，表示每天的温度，返回一个数组 answer ，其中 answer[i] 是指对于第 i 天，
 * 下一个更高温度出现在几天后。如果气温在这之后都不会升高，请在该位置用 0 来代替。
 *
 * 示例 1:
 * 输入: temperatures = [73,74,75,71,69,72,76,73]
 * 输出: [1,1,4,2,1,1,0,0]
 *
 * 示例 2:
 * 输入: temperatures = [30,40,50,60]
 * 输出: [1,1,1,0]
 *
 * 示例 3:
 * 输入: temperatures = [30,60,90]
 * 输出: [1,1,0]
 *
 * 提示：
 * 1 <= temperatures.length <= 105
 * 30 <= temperatures[i] <= 100
 */
public class T2 {

    public static int[] daliyTemperatures(int[] temperatures){
        int len = temperatures.length;
        int aa[] = new int[len];
        int bb[] = new int[101];

        Arrays.fill(bb, Integer.MAX_VALUE);

        int warm = Integer.MAX_VALUE;

        for(int i=len-1; i>=0;i--){
            for(int j = temperatures[i] +1; j<=100; j++){
                if(bb[j] < warm){
                    warm = bb[j];
                }
            }

            if(warm < Integer.MAX_VALUE){
                aa[i] = warm - i;
            }

            bb[temperatures[i]] = i;
        }
        return aa;
    }


    public static void main(String[] args) {

        int[] temperatures = new int[]{73,74,75,71,69,72,76,73};
        daliyTemperatures(temperatures);
    }
}
